var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var app = express();

// view engine setup
// 设置模板引擎为template，并渲染html文件
app.engine('html', require("express-art-template"));
// 设置模板引擎默认渲染html文件
app.set('view engine', 'html');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
// 解析 application/json 类型的数据
app.use(bodyParser.json());
// 解析 application/x-www-form-urlencoded 类型的数据
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use(require("./routes/upload"));
app.use("/api/v1/students",require("./routes/students"));
app.use("/api/v1",require("./routes/index"));

app.get('/', function(req, res) {
  res.redirect("/api/v1/list/1");
});

module.exports = app;

// 浏览器是如何访问一个页面的？(简述一个网站向服务器发送请求到接收到数据的过程)
/**
 * 1.DNS 解析:通过DNS解析获取到对应地址的IP
 * 2.建立连接:通过TCP的三次握手建立连接
 * 3.服务器受理请求做出响应:服务器根据请求做出对应处理并返回数据
 * 4.返回数据后断开连接:最后断开连接
 */